package com.xbj.mapper;

import com.xbj.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface EmpMapper {
    public List<Emp> findEmpList(Integer id);

    // 查询咨询师列表
    public List<Map<String, Object>> findUser();

    // 查询咨询师列表
    public List<Map<String, Object>> findDxUser();

    // 根据学员ID查询学员描述信息
    public Map<String, Object> getEmpDesc(Integer id);

    // 根据学员ID查询学员描述信息
    public Map<String, Object> getEmpDescByZx(Integer id);


    // 保存学员信息
    public int addEmp(Emp emp);

    // 保存电销信息记录
    public int saveEmpDxDesc(EmpDxDesc empdxdesc);

    // 查询电销列表
    public List<Emp> findEmpListByDX(Emp emp);

    // 保存电销备注内容
    public int saveDxDesc(EmpDxDesc empdxdesc);

    public int saveZxDesc(EmpZxDesc empzxdesc);

    // 转咨询更新当前学员对应的咨询人员
    public int saveDxToZxRecord(Map<String, Object> map);

    public int updateDxToZxRecord(Map<String, Object> map);

    // 电销转电销
    public int updateDxToDxRecord(@Param("empId") Integer empId, @Param("dxId") Integer dxId, @Param("dxDate") Date dxDate);

    // 转咨询同时需要更新电销记录中的dxStatus状态
    public int updateDxStatus(Map<String, Object> map);

    public EmpZxDesc findZxRecord(Integer empid);

    // 查询咨询列表
    public List<Emp> findEmpListByZX(Emp emp);

    //根据ID和字段更新对应的字段内容
    public int updateEmp(Map<String, Object> map);

    public Role findEmpByLoginId(Integer userId);

    //修改学员状态为D量
    public void updateEmpStatus(Integer empId);

    public void updateEmpState(Integer empId);

    //根据传入的学员ID集合查询学员列表需要导出的数据列表
    public List<Emp> findEmpExcel(List<Integer> ids);

    //保存已报名学员信息
    public int saveEmpDetail(EmpDetail empDetail);

    //更新学员详细信息
    public int updateEmpDetail(EmpDetail empDetail);

    //根据ID查询学员详细信息
    public EmpDetail findEmpDetailByEmpId(Integer empId);

    public List<Emp> findEmpByDetailApplyDate(Map<String, Object> map);


}
